

#ifndef CMD_H
#define CMD_H
/***cmd.c*/

#include "bootpack.h"


typedef struct  {
	int cursor_x ,cursor_y ; //光标在图像的坐标
	int cursor_color ; //光标颜色
	char cmdline[1024] ; //命令行buf
	int length ; //命令的长度
	SHEET * sheet ; //cmd对应的console窗体
	char head[20]  ;
	int first ;//一行中光标起始的坐标x

	char args [10][10]; //分割以后的命令 ,[0] 为命令 ，[0]之后为参数
	char args_length ;

	
} CMD;

void cmd_init (CMD * cmd)  ;
void cmd_init_nohead (CMD * cmd);
void cmd_newline (CMD * cmd ,int hashead );
int cmd_exec (CMD * cmd) ;
int cmd_mem(CMD * cmd) ;
int cmd_cls (CMD * cmd) ;
int cmd_ls(CMD * cmd);
int cmd_cat (CMD * cmd) ;
int cmd_warnning (CMD * cmd ,char str []) ;
void cmd_putchar (CMD * cmd ,char ch ,char move ) ;
void cmd_putchars (CMD * cmd ,char * s ) ;
void cmd_putchars_length (CMD * cmd ,char * s ,int len);
void cmd_putcmdchar (CMD * cmd ,char ch ,char move) ;
int api_cmdline (char * buf ,int maxlength ) ; //返回实际长度

#endif 